iT邦幫忙

DAY 11
0

一段無厘頭的visual studio開發歷程系列 第 11

講了那麼多Windows APP ,也該知道一下他的生命週期

  • 分享至 

  • xImage
  •  

What is Windows APP Life Cycle ?

NotRunning (未執行)

一切的起始從這裡開始,在你的APP剛完成安裝部署時,正常應該是處於一個NotRunning的階段

(如果APP已毀損,或是暫停後卻沒有保存於記憶體中也會進到未執行的狀態)

Activated

在APP從 NotRunning 要進到 Running 階段時需要經歷過一個啟用(Activated)的過程
在啟用時我們需要透過各種的協定或是延伸的機制才能啟用,而我們的APP必須登錄才能夠接收啟用事件。
我們也能夠透過測試檢驗 APP的啟用事件處理常式去了解是否有進入Running狀態。

Running (執行)

我們的APP通常都是透過點選動態磚來啟動,所以在Visual Studio 2013中所提供的市集應用程式的範本
基本上都會在 「 App.Xaml.cs 」 中預設 OnLaunched 的方法來執行應用程式的初始化作業
執行了初始化作業而進到了Running狀態後,APP處於運行的狀態。

Suspending

當使用者在移出某個APP,或是進入電源不足的狀態時,APP會呈現暫停的狀態
或是在使用者將某個APP移至背景時,Windows 也會等待幾秒再進入暫停狀態
在APP進入暫停前的這個短暫的觸發狀態就屬於Suspending事件。

Suspended (暫停)

在經過了Suspending事件後,APP會呈現Suspended(暫停)狀態
在APP在進入了暫停狀態之後,會有兩種不同的情況發生

1.Resume 繼續執行

在Windows沒有強制終止APP之前,如果使用者又切回APP執行
或是Windows在脫離電力不足狀態後,讓處在Suspended(暫停)狀態的APP又繼續執行
並引發 Resuming 事件,使APP 從 Suspended(暫停)狀態返回 Running(執行)的狀態
從暫停的地方繼續,就是 Resume(繼續執行) 的動作

並不會因此遺失任何應用程式的資料,因為資料是儲存在記憶體中

2.Terminated 終止

當APP處於Suspended(暫停)狀態時,Windows會盡可能的將APP保存在記憶體中
以便我們可以快速地從Suspended(暫停)狀態切換回 Running(執行)的狀態
但是系統也有可能出現沒有足夠資源或是必須為了節省電力的狀況而將你的APP 強制終止

而且當你的APP被強制終止時並不會引發其他事件,所以你也不會收到任何的通知訊息


上一篇
Windows App不是只有C#跟Xaml
下一篇
控制項以及常見的屬性
系列文
一段無厘頭的visual studio開發歷程30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言